<?php 

	/*
		类名 Page
		参数: 数据总条数  每页显示几条
		

		方法
			1,获取limit参数 getLimit 0,9  9,9 18,9
			2,显示页码信息 show()
		//扩展
		使用model类和page类 完成一套增删该查 分页 搜索
	*/
	// $page = new Page(100,9);
	// $limit = $page->getLimit();
	// $page->show();

	class Page
	{
		//成员属性
		public $total = 0;//总条数
		public $num = 10;//每页显示条数

		//构造方法
		public function __construct($t,$n)
		{
			$this->total = $t;
			$this->num = $n;
		}

		//获取limit 100 9 1 0,9 2 9,9 3 18,9 n (n-1)*9,9
		public function getLimit()
		{
			//获取当前页
			$p = isset($_GET['p']) ? $_GET['p'] : 1;

			//计算limit
			$limit = ($p-1)*$this->num.','.$this->num;
			return $limit;
			// echo $limit;
		}

		//显示页码信息
		public function show()
		{
			//获取当前请求的脚本路径
			$u = $_SERVER['SCRIPT_NAME'];
			//获取当前页
			$p = isset($_GET['p']) ? $_GET['p'] : 1;

			//获取总页码数 100,9 总条数/每页条数 取整
			$totalpage = ceil($this->total/$this->num);
			$url = '';
			$url .= '<a href="'.$u.'?p=1">首页</a>&nbsp;&nbsp;&nbsp;';

			//越界判断
			if($p > 1){
				$url .= '<a href="'.$u.'?p='.($p-1).'">上一页</a>&nbsp;&nbsp;&nbsp;';
			}else{
				$url .= '<a href="'.$u.'?p=1">上一页</a>&nbsp;&nbsp;&nbsp;';
			}
			//循环页码
			for ($i=1; $i <=$totalpage; $i++) { 
				//判断当前页
				if($p == $i){
					$url .= '<a style="color:red" href="'.$u.'?p='.$i.'">'.$i.'</a>&nbsp;&nbsp;&nbsp;';
				}else{
					$url .= '<a href="'.$u.'?p='.$i.'">'.$i.'</a>&nbsp;&nbsp;&nbsp;';
				}
			}
			$url .= '<a href="'.$u.'?p='.$totalpage.'">尾页</a>&nbsp;&nbsp;&nbsp;';
			//越界判断
			if($p >= $totalpage){
				$url .= '<a href="'.$u.'?p='.$totalpage.'">下一页</a>&nbsp;&nbsp;&nbsp;';
			}else{
				$url .= '<a href="'.$u.'?p='.($p+1).'">下一页</a>&nbsp;&nbsp;&nbsp;';
			}

			echo $url;
		}
	}



 ?>